//////////////////////////////////////////////////////////////////////////
#pragma once


//////////////////////////////////////////////////////////////////////////
#include <RocketLua/RocketLua.hpp>


namespace Rocket
{
	namespace Core
	{
		namespace Lua
		{
			//////////////////////////////////////////////////////////////////////////
			class ROCKETLUA_EXPORT LuaEventListenerInstancer : public Rocket::Core::EventListenerInstancer
			{
			public:
				LuaEventListenerInstancer( lua_State* state );
				virtual ~LuaEventListenerInstancer()								{}

				virtual EventListener*		InstanceEventListener( const String& value, Element* element ) override;

				virtual void				Release() override;

			private:
				lua_State*					mpState;
			};
		}
	}
}
